/*
 * XML Type:  RecurringIntraTransactionRequest
 * Namespace: http://ofx.net/types/2003/04
 * Java type: net.ofx.types.x2003.x04.RecurringIntraTransactionRequest
 *
 * Automatically generated - do not modify.
 */
package net.ofx.types.x2003.x04.impl;
/**
 * An XML RecurringIntraTransactionRequest(@http://ofx.net/types/2003/04).
 *
 * This is a complex type.
 */
public class RecurringIntraTransactionRequestImpl extends net.ofx.types.x2003.x04.impl.AbstractTransactionRequestImpl implements net.ofx.types.x2003.x04.RecurringIntraTransactionRequest
{
    
    public RecurringIntraTransactionRequestImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName RECINTRARQ$0 = 
        new javax.xml.namespace.QName("", "RECINTRARQ");
    private static final javax.xml.namespace.QName RECINTRAMODRQ$2 = 
        new javax.xml.namespace.QName("", "RECINTRAMODRQ");
    private static final javax.xml.namespace.QName RECINTRACANRQ$4 = 
        new javax.xml.namespace.QName("", "RECINTRACANRQ");
    
    
    /**
     * Gets the "RECINTRARQ" element
     */
    public net.ofx.types.x2003.x04.RecurringIntraRequest getRECINTRARQ()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.RecurringIntraRequest target = null;
            target = (net.ofx.types.x2003.x04.RecurringIntraRequest)get_store().find_element_user(RECINTRARQ$0, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "RECINTRARQ" element
     */
    public boolean isSetRECINTRARQ()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(RECINTRARQ$0) != 0;
        }
    }
    
    /**
     * Sets the "RECINTRARQ" element
     */
    public void setRECINTRARQ(net.ofx.types.x2003.x04.RecurringIntraRequest recintrarq)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.RecurringIntraRequest target = null;
            target = (net.ofx.types.x2003.x04.RecurringIntraRequest)get_store().find_element_user(RECINTRARQ$0, 0);
            if (target == null)
            {
                target = (net.ofx.types.x2003.x04.RecurringIntraRequest)get_store().add_element_user(RECINTRARQ$0);
            }
            target.set(recintrarq);
        }
    }
    
    /**
     * Appends and returns a new empty "RECINTRARQ" element
     */
    public net.ofx.types.x2003.x04.RecurringIntraRequest addNewRECINTRARQ()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.RecurringIntraRequest target = null;
            target = (net.ofx.types.x2003.x04.RecurringIntraRequest)get_store().add_element_user(RECINTRARQ$0);
            return target;
        }
    }
    
    /**
     * Unsets the "RECINTRARQ" element
     */
    public void unsetRECINTRARQ()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(RECINTRARQ$0, 0);
        }
    }
    
    /**
     * Gets the "RECINTRAMODRQ" element
     */
    public net.ofx.types.x2003.x04.RecurringIntraModRequest getRECINTRAMODRQ()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.RecurringIntraModRequest target = null;
            target = (net.ofx.types.x2003.x04.RecurringIntraModRequest)get_store().find_element_user(RECINTRAMODRQ$2, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "RECINTRAMODRQ" element
     */
    public boolean isSetRECINTRAMODRQ()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(RECINTRAMODRQ$2) != 0;
        }
    }
    
    /**
     * Sets the "RECINTRAMODRQ" element
     */
    public void setRECINTRAMODRQ(net.ofx.types.x2003.x04.RecurringIntraModRequest recintramodrq)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.RecurringIntraModRequest target = null;
            target = (net.ofx.types.x2003.x04.RecurringIntraModRequest)get_store().find_element_user(RECINTRAMODRQ$2, 0);
            if (target == null)
            {
                target = (net.ofx.types.x2003.x04.RecurringIntraModRequest)get_store().add_element_user(RECINTRAMODRQ$2);
            }
            target.set(recintramodrq);
        }
    }
    
    /**
     * Appends and returns a new empty "RECINTRAMODRQ" element
     */
    public net.ofx.types.x2003.x04.RecurringIntraModRequest addNewRECINTRAMODRQ()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.RecurringIntraModRequest target = null;
            target = (net.ofx.types.x2003.x04.RecurringIntraModRequest)get_store().add_element_user(RECINTRAMODRQ$2);
            return target;
        }
    }
    
    /**
     * Unsets the "RECINTRAMODRQ" element
     */
    public void unsetRECINTRAMODRQ()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(RECINTRAMODRQ$2, 0);
        }
    }
    
    /**
     * Gets the "RECINTRACANRQ" element
     */
    public net.ofx.types.x2003.x04.RecurringIntraCancellationRequest getRECINTRACANRQ()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.RecurringIntraCancellationRequest target = null;
            target = (net.ofx.types.x2003.x04.RecurringIntraCancellationRequest)get_store().find_element_user(RECINTRACANRQ$4, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "RECINTRACANRQ" element
     */
    public boolean isSetRECINTRACANRQ()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(RECINTRACANRQ$4) != 0;
        }
    }
    
    /**
     * Sets the "RECINTRACANRQ" element
     */
    public void setRECINTRACANRQ(net.ofx.types.x2003.x04.RecurringIntraCancellationRequest recintracanrq)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.RecurringIntraCancellationRequest target = null;
            target = (net.ofx.types.x2003.x04.RecurringIntraCancellationRequest)get_store().find_element_user(RECINTRACANRQ$4, 0);
            if (target == null)
            {
                target = (net.ofx.types.x2003.x04.RecurringIntraCancellationRequest)get_store().add_element_user(RECINTRACANRQ$4);
            }
            target.set(recintracanrq);
        }
    }
    
    /**
     * Appends and returns a new empty "RECINTRACANRQ" element
     */
    public net.ofx.types.x2003.x04.RecurringIntraCancellationRequest addNewRECINTRACANRQ()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.RecurringIntraCancellationRequest target = null;
            target = (net.ofx.types.x2003.x04.RecurringIntraCancellationRequest)get_store().add_element_user(RECINTRACANRQ$4);
            return target;
        }
    }
    
    /**
     * Unsets the "RECINTRACANRQ" element
     */
    public void unsetRECINTRACANRQ()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(RECINTRACANRQ$4, 0);
        }
    }
}
